﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoData;
using Entidades;

namespace Pruebas
{
    public class CrearEntidades
    {

        public int DatosAseguradora(string nombre)
        {
            Aseguradora miAseguradora = FabricaEntidades.ObtenerAseguradora();
            miAseguradora.Id = -1;
            miAseguradora.Nombre = nombre;
            miAseguradora.Rif = 123456789;
            miAseguradora.LetraRif = 'V';
            miAseguradora.Telefono = 123456789.ToString();

            miAseguradora.Id =
                DAO.ObtenerFabrica(1).ObtenerDaoAseguradora().AgregarAseguradora(
                                                                            miAseguradora);
            return miAseguradora.Id;
        }

        public int DatosRamoTipo(string  nombre)
        {
            Ramo miRamo = FabricaEntidades.ObtenerRamo();
            Ramo miTipo = FabricaEntidades.ObtenerRamo();

            miRamo.Tipo = "ramo";
            miRamo.Nombre = nombre;
            miRamo.Id = DAO.ObtenerFabrica(1).ObtenerDaoRamo().AgregarRamo(miRamo);

            miTipo.Tipo = "tipo";
            miTipo.Nombre = nombre;
            miTipo.Id = DAO.ObtenerFabrica(1).ObtenerDaoRamo().AgregarRamo(miRamo);

            miTipo.RamoTipo.Id =
                DAO.ObtenerFabrica(1).ObtenerDaoRamo().AgregarTipoRamo(miRamo, miTipo);
            return miTipo.RamoTipo.Id;
        }

        public int DatosCliente (string nombre)
        {
            Cliente miCliente = FabricaEntidades.ObtenerCliente();

            miCliente.Nombre = "PruebaAgregarCliente";
            miCliente.LetraRif = 'V';
            miCliente.Rif = 1234567;
            miCliente.Telefono = 02125767289.ToString();
            miCliente.Telefono2 = 04214256820.ToString();
            miCliente.Telefono1 = 04216625959.ToString();
            miCliente.Id = DAO.ObtenerFabrica(1).ObtenerDaoCliente().AgregarCliente(miCliente);
            return miCliente.Id;
        }

        public Poliza DatosPoliza(int idAseguradora, int idCliente)
        {
            Poliza miPoliza = FabricaEntidades.ObtenerPoliza();

            miPoliza.Aseguradora.Id = idAseguradora;
            miPoliza.Cliente.Id = idCliente;
            miPoliza.Numero = "021201201201";
            miPoliza.Ramo.Id = DatosRamoTipo("datosPoliza");

            miPoliza.Id = DAO.ObtenerFabrica(1).ObtenerDaoPoliza().AgregarPoliza(miPoliza);

            return miPoliza;
        }

        public Siniestro DatosSiniestro()
        {
            Siniestro miSiniestro = FabricaEntidades.ObtenerSiniestro();

            int idAjustadora = DatosAseguradora("pruebaSiniestro");
            int idCliente = DatosCliente("pruebaSiniestro");

            Poliza miPoliza = DatosPoliza(idAjustadora, idCliente);

            miSiniestro.Lugar.Id = 1;
            miSiniestro.FechaNotificacion = DateTime.Now;
            miSiniestro.FechaOcurrencia = new DateTime(2010, 12, 24);
            miSiniestro.NumeroReferencia = 02120121;
            miSiniestro.NumeroSiniestro = 0212112122;
            miSiniestro.MontoEstimado = 50000;
            miSiniestro.Poliza = miPoliza;
            miSiniestro.Ramo.Id = DatosRamoTipo("pruebaAseguradora");

            miSiniestro.Id =
                DAO.ObtenerFabrica(1).ObtenerDaoSiniestro().AgregarSiniestro(miSiniestro);
            return miSiniestro;
        }

        public Personal DatosPersonal()
        {
            Personal ajustador = FabricaEntidades.ObtenerPersonal();

            ajustador.Nombre = "nombreAjustador";
            ajustador.Apellido = "apellidoAjustador";
            ajustador.Cedula = 18001107;
            ajustador.LetraRif = 'V';
            ajustador.Rif = 18001107;
            ajustador.Lugar = 1;
            ajustador.Telefono = 04166259591.ToString();
            ajustador.Telefono2 = 04123765008.ToString();
            ajustador.Telefono3 = 04166288989.ToString();

            ajustador.Id =
                DAO.ObtenerFabrica(1).ObtenerDaoPersonal().AgregarPersonal(ajustador);

            return ajustador;
        }

        public Ramo DatosRamo()
        {
            Ramo miRamo = FabricaEntidades.ObtenerRamo();

            miRamo.Tipo = "ramo";
            miRamo.Nombre = "ramoprueba";
            miRamo.Id = DAO.ObtenerFabrica(1).ObtenerDaoRamo().AgregarRamo(miRamo);

            return miRamo;
        }
    }
}
